﻿namespace DbMetadata.Providers
{
    /// <summary>
    /// Represents column meta data.
    /// </summary>
    public class ColumnInfo
    {
        /// <summary>
        /// Gets or sets the catalog of the table that owns the column
        /// </summary>
        public string TableCatalog { get; set; }

        /// <summary>
        /// Gets or sets the name of the table that owns the column
        /// </summary>
        public string TableName { get; set; }

        /// <summary>
        /// Gets or sets the table schema of the table that owns the column.
        /// </summary>
        public string TableSchema { get; set; }

        /// <summary>
        /// Gets or sets the name of the column.
        /// </summary>
        public string ColumnName { get; set; }

        /// <summary>
        /// Gets or sets the provider spesific data type name.
        /// </summary>
        public string DataTypeName { get; set; }

        /// <summary>
        /// Gets or sets the ordinal position of the column.
        /// </summary>
        public int OrdinalPosition { get; set; }

        /// <summary>
        /// Gets or sets a value that determines if the column is nullable.   
        /// </summary>
        public bool IsNullable { get; set; }
    }
}
